<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>custom-radio</title>
    <style>
        .radio-container {
            box-sizing: border-box;
            background-color: #fff;
            color: #545355;
            height: 64px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-flow: row wrap;
        }
        .radio-container * {
            box-sizing: border-box;
        }
        .radio-input {
            appearance: none;
            background-color: #fff;
            width: 16px;
            height: 16px;
            border: 1px solid #cccfdb;
            margin: 0;
            border-radius: 50%;
            display: grid;
            align-items: center;
            justify-content: center;
            transition: all .3s ease-in;
        }
        .radio-input::before {
            content: "";
            width: 6px;
            height: 6px;
            border-radius: 50%;
            transform: scale(0);
            transition: .3s transform ease-in-out;
            box-shadow: inset 6px 6px #fff;
        }
        .radio-input:checked {
            background-color: #2396ef;
            border-color: #2396ef;
        }
        .radio-input:checked::before {
            transform: scale(1);
        }
        .radio {
            cursor: pointer;
            padding: 6px 8px;
        }
        .radio:not(:last-child){
            margin-right: 6px;
        }
    </style>
</head>
<body>
    <div class="radio-container">
        <input type="radio" class="radio-input" id="male" name="sex"/>
        <label for="male" class="radio">男</label>
        <input type="radio" class="radio-input" id="female" name="sex"/>
        <label for="female" class="radio">女</label>
    </div>
</body>
</html>